package com.webside.wap.common.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.webside.wap.common.example.CommentExample;
import com.webside.wap.common.mapper.TestMapper;
import com.webside.wap.common.model.RComment;
import com.webside.wap.common.service.RCommentService;
/**
 * 评论和点赞
 * 服务实现类
 * @author XuanZhen XYH
 *
 */
@Service("RCommentServiceimpl")
public class RCommentServiceImpl implements RCommentService {

	@Autowired
	TestMapper rCommentDao;

	/**
	 * 页面接收参数组成CommentExample对象
	 * 根据参数进行查询并获取分页列表
	 * @param common
	 * @return
	 */
	public List<RComment> selectByCondition(CommentExample comment) {
		
		return rCommentDao.selectByCondition(comment);
	}

	/**
	 * 通过判断持久层新增操作返回影响条数
	 * 判断是否插入数据成功并返回boolean值
	 * @param comment
	 * @return
	 */
	public boolean insertCommentOrLike(CommentExample comment) {
		int i = rCommentDao.insertComment(comment);
		if (i>0) {
			//返回记录条数不为0，修改成功
			return true;
		}else{
			//返回记录条数为0或-1，修改失败
			return false;
		}
	}

	/**
	 * 通过传入的对象的id获取数据并修改对应其他数据
	 * 并返回影响条数
	 * @param comment
	 * @return
	 */
	public int updateByCondition(CommentExample comment) {
		
		return rCommentDao.updateByCondition(comment);
	}

	/**
	 * 通过传入的id获取该条评论并给子评论数量+1
	 * 根据返回影响条数返回boolean值
	 * @param id
	 * @return
	 */
	public boolean updateChildrenCount(Integer id) {
		int i = rCommentDao.updateChildrenCount(id);
		if (i==1) {
			//返回一条数据被修改
			return true;
		}else{
			//修改多条或未修改成功
			return false;
		}
	}

	/**
	 * 通过传入的条件对象来查询对应的条目数量
	 * （主要用于查询点赞数）
	 * @param comment
	 * @return
	 */
	public int selectCountByCondition(CommentExample comment) {
		
		return rCommentDao.selectCountByCondition(comment);
	}
	
}
